package top.v5it.japi.plus.example.jpa;

import cn.hutool.extra.spring.EnableSpringUtil;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Import;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import top.v5it.japi.plus.core.spring.web.interceptor.EnableJapiWrapper;
import top.v5it.japi.plus.data.jpa.repository.support.JapiSimpleJpaRepository;
import top.v5it.japi.plus.log.EnableJapiOperLog;
import top.v5it.japi.plus.log.OperLogConfigurationSelector;
import top.v5it.japi.plus.support.limit.EnableJapiLimit;

/**
 * jpa example
 */
@EnableCaching
@EnableSpringUtil
@EnableJapiOperLog
@EnableJapiLimit
//@EnableJapiWrapper
@EntityScan(basePackages = {"top.v5it.japi.plus.data.support"})
@EnableJpaRepositories(basePackages = {"top.v5it.japi.plus.example"}, repositoryBaseClass = JapiSimpleJpaRepository.class)
@SpringBootApplication(scanBasePackages = "top.v5it.japi.plus.example")
@Import({OperLogConfigurationSelector.class})
public class App {

    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}
